﻿using System;
using System.Collections.Generic;
using System.Text;

namespace EnCor.Security
{
    public interface IAuthenticationProvider
    {
        string Tag { get; }

        string CredentialType { get; }

        /// <summary>
        /// Authenticate the credential, return null if authenticating failed.
        /// </summary>
        /// <param name="credential"></param>
        /// <returns></returns>
        UserIdentity Authenticate(Credential credential);

        string Mapper { get; set; }

    }
}
